package com.dhecp.project.system.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.system.domain.SysRoleInfo;

/**
 * 角色信息DAO接口层
 * @author DH-Xxj
 * @version 2019年10月18日
 */
public interface SysRoleInfoMapper extends GenericDao<SysRoleInfo, String> {

	/**
	 * 按条件查询角色列表
	 * @param params
	 * @return List-SysRoleInfo
	 * @author DH-Xxj
	 */
	List<SysRoleInfo> findRoleList(Map<String,Object> params);
	
	/**
	 * 通过名称查询角色
	 * @param roleName 必要参数：角色名称
	 * @return SysRoleInfo-实体
	 * @author DH-Xxj
	 */
	SysRoleInfo findRoleByRoleName(@Param("roleName") String roleName);

	/**
	 * 查询指定用户未分配的角色列表
	 * @param userId 必要参数：用户编号
	 * @return List-SysRoleInfo
	 * @author DH-Xxj
	 */
	List<SysRoleInfo> findLackRoleListByUserId(Map<String,Object> params);
	
	/**
	 * 查询指定用户已分配的角色列表
	 * @param userId 必要参数：用户编号
	 * @return List-SysRoleInfo
	 * @author DH-Xxj
	 */
	List<SysRoleInfo> findRoleListByUserId(Map<String,Object> params);
	
	/**
	 * 通过guid删除角色
	 * @param guid 必要参数：角色信息唯一值
	 * @return
	 * @author DH-Xxj
	 */
	int deleteByGuid(@Param("guid") String guid);
}
